Modifies the data for a control.
GUICtrlSetGraphic ( controlID, type [, par1 [, ... par6]] )
Parameters
controlID | The control identifier (controlID) as returned by a GUICtrlCreateGraphic function. ype type of drawing : dot, line, bezier, rect, ellipse, pie. |
par1...par6 | See the Graphic Type table below. |
Return Value
Success: | Returns 1. |
Failure: | Returns 0. |
Returns -1 in case of invalid data |
Remarks
The point position (x,y) is relative to the GUICtrlCreateGraphic coordinates. It can be outside the graphic control but inside of the GUI window.Type | Parameters | result |
$GUI_GR_COLOR | Color [,BkColor] | Define the color of the next drawings. When BkColor is equal to $GUI_GR_NOCOLOR the drawing will not be filled. It is the default. For Color the default line color is black. |
$GUI_GR_MOVE | x,y | Move the current position without drawing. |
$GUI_GR_DOT | x,y | Draw a point(smallest square around the point), the next drawing will start from previous position. |
$GUI_GR_PIXEL | x,y | Draw a pixel, the next drawing will start from previous position. |
$GUI_GR_LINE | x,y | Draw a line. |
$GUI_GR_BEZIER | x,y,x1,y1,x2,y2 | Draw a bezier curve with 2 control points. |
$GUI_GR_RECT | x,y,w,h | Draw a rectangle. If w=h it will be a square. |
$GUI_GR_ELLIPSE | x,y,w,h | Draw an ellipse. If w=h it will be a circle. |
$GUI_GR_PIE | x,y,r,sa,wa | Draw a pie radius=r startangle=sa sweepangle=wa. Angles are in degrees. |
$GUI_GR_CLOSE | to close the current drawing. It has to be added to $GUI_GR_LINE or $GUI_GR_BEZIER to close current drawing. Use alone will be ignored. | |
$GUI_GR_REFRESH | to force refresh after dynamic update of graphics. | |
$GUI_GR_HINT | to display control point and end point of bezier/line curve. | |
$GUI_GR_PENSIZE | n | set pensize for the next drawings. It has to be defined before $GUI_GR_COLOR to be taken in account. |
$GUI_GR_NOBKCOLOR | is a dummy BkColor to force closed drawing not to be filled. Just line drawings. |
Related
GUICtrlCreateGraphic
Example
#include <GUIConstants.au3>
$MAXGr=7
Global $a[$MAXGr+1] ; 0 and $MAXGr entries not used to allow GUICtrlDelete result
Global $child, $del
GUICreate("My Main", -1,-1,100,100)
$del1=GuiCtrlCreateButton("Delete", 50,200, 50)
GUISetState()
CreateChild()
$i=1
$inc=1
;$i=5 ; uncomment to delete starting from last define Graphic control
;$inc=-1
Do
$msg = GUIGetMsg()
if $msg= $del1 then Del()
if $msg= $del then
GuiCtrlDelete($a[$i])
$i = $i+$inc
if $i <0 OR $i>$MAXGr then exit
EndIf
Until $msg=$GUI_EVENT_CLOSE
Func Del()
GuiDelete($child)
CreateChild()
EndFunc
Func CreateChild()
$child=GUICreate("My Draw")
$del=GuiCtrlCreateButton("Delete", 50,165, 50)
$a[1]=GuiCtrlCreateGraphic(20, 50, 100,100)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetColor(-1,0)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff0000,0xff0000)
GUICtrlSetGraphic(-1,$GUI_GR_PIE, 50,50, 40,30,270)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x00ff00,0xffffff)
GUICtrlSetGraphic(-1,$GUI_GR_PIE, 58,50, 40,-60,90)
GUICtrlSetGraphic(-1,$GUI_GR_ELLIPSE, 100,100, 50,80)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x00ff00,0xc0c0ff)
GUICtrlSetGraphic(-1,$GUI_GR_RECT, 350,200, 50,80)
GuiCtrlCreateLabel("label", 65, 100, 30)
GUICtrlSetColor(-1,0xff)
$a[2]=GuiCtrlCreateGraphic(220, 10, 100,100)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0, 0xff)
GUICtrlSetGraphic(-1,$GUI_GR_PIE, 50,50, 40,30,270)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x00ff00,0xffffff)
GUICtrlSetGraphic(-1,$GUI_GR_PIE, 58,50, 40,-60,90)
$a[3]=GuiCtrlCreateGraphic(220, 110, 100,100)
GUICtrlSetBkColor(-1,0xf08080)
GUICtrlSetColor(-1,0xff)
GUICtrlSetGraphic(-1,$GUI_GR_HINT, 1)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff00)
GUICtrlSetGraphic(-1,$GUI_GR_RECT, 50,50, 80,80)
$a[4]=GuiCtrlCreateGraphic(20, 200, 80,80)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetGraphic(-1,$GUI_GR_HINT, 1)
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 10,10)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 30,40)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff00)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 70,70)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff0000)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 10,50)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xffff00)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 10,10)
$a[5]=GuiCtrlCreateGraphic(150, 10, 50,50)
GUICtrlSetBkColor(-1,0xa0ffa0)
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 20,20) ; start point
; it is better to draw line and after point
; to avoid to switch color at each drawing
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x0000ff)
GUICtrlSetGraphic(-1,$GUI_GR_DOT, 30,30)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 20,40)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff0000)
GUICtrlSetGraphic(-1,$GUI_GR_DOT, 25,25)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 40,40)
GUICtrlSetGraphic(-1,$GUI_GR_DOT, 30,40)
$a[6]=GuiCtrlCreateGraphic(110, 260, 230,130)
GUICtrlSetColor(-1,0) ; to display a balck border line
GUICtrlSetBkColor(-1,0xc0c0ff)
GUICtrlSetGraphic(-1,$GUI_GR_HINT, 3) ; to display control lines and end points
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0, 0xff); fill in blue
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 120,20) ; start point
GUICtrlSetGraphic(-1,$GUI_GR_BEZIER, 120,100, 200,20, 200,100)
GUICtrlSetGraphic(-1,$GUI_GR_BEZIER+$GUI_GR_CLOSE, 100,40, 40,100, 40,20)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 60,30) ; start point
GuiSetState()
EndFunc